import redis
from flask import current_app

# 配置参数（与config.py保持一致）
REDIS_HOST = '10.21.17.32'
REDIS_PORT = 6379
REDIS_DB = 0
REDIS_DECODE_RESPONSES = True

def get_redis_connection():
    """
    获取Redis连接实例
    提供两种访问方式：
    1. 直接导入使用: from app.redis_connection import get_redis_connection
    2. 通过current_app: current_app.redis_client
    """
    try:
        # 优先使用app上下文中的redis_client
        if current_app and hasattr(current_app, 'redis_client'):
            return current_app.redis_client
            
        # 备用直接连接方式
        return redis.StrictRedis(
            host=REDIS_HOST,
            port=REDIS_PORT,
            db=REDIS_DB,
            decode_responses=REDIS_DECODE_RESPONSES
        )
    except Exception as e:
        print(f"Redis连接错误: {e}")
        raise

# 保持原有测试代码
if __name__ == '__main__':
    conn = get_redis_connection()
    print("Redis连接测试成功")
    conn.set('test_key', 'test_value')
    print(conn.get('test_key'))
